package com.tony.mindwarning.service;

import com.tony.mindwarning.pojo.Product;
import com.tony.mindwarning.pojo.ProductInfo;

import java.util.List;
import java.util.Map;

/**
 * Created with IntelliJ IDEA.
 *
 * @Title: ProductService
 * @Auther: 皮蛋布丁
 * @Date: 2021/04/09/10:00
 * @Description:
 */
public interface ProductService {

    /**
     * @Description: addProduct 添加商品
     * @Param: [product]
     * @return: int
     * @Author: 皮蛋布丁
     */
    int addProduct(Product product,int userId);

    /**
     * @Description: totalCount 查询商品总数
     * @Param: []
     * @return: int
     * @Author: 皮蛋布丁
     */
    int totalCount();

    /**
     * @Description: getProductByPage 联表查询带类别的商品信息
     * @Param: [map]
     * @return: java.util.List<com.tony.mindwarning.pojo.Product>
     * @Author: 皮蛋布丁
     */
    List<Product> getProductByPage(Map<String,Object> map);

    /**
     * @Description: findById 通过id联表查询带类别的商品信息
     * @Param: [pid]
     * @return: com.tony.mindwarning.pojo.Product
     * @Author: 皮蛋布丁
     */
    Product findById(Integer pid);

    /**
     * @Description: updateProduct 更新商品信息
     * @Param: [product]
     * @return: int
     * @Author: 皮蛋布丁
     */
    Integer updateProduct(Product product,int userId);

    /**
     * @Description: deleteProduct 删除商品信息
     * @Param: [pid]
     * @return: int
     * @Author: 皮蛋布丁
     */
    int deleteProduct(int pid,int userId);

    /**
     * @Description: getProductInfos 获取商品类别统计数目
     * @Param: []
     * @return: java.util.List<com.tony.mindwarning.pojo.ProductInfo>
     * @Author: 皮蛋布丁
     */
    List<ProductInfo> getProductInfos();

    /**
     * @Description: updateProductCount 更新商品库存
     * @Param: [product]
     * @return: int
     * @Author: 皮蛋布丁
     */
    int updateProductCount(Product product,int userId);

    /**
     * @Description: productsByTid 根据分类ID查询商品的集合
     * @Param: [tid]
     * @return: java.util.List<com.tony.mindwarning.pojo.Product>
     * @Author: 皮蛋布丁
     */
    List<Product> productsByTid(Integer tid);
}
